perm filename NUMER.POX[POX,WD]2 blob
sn#397685 filedate 1978-11-17 generic text, type T, neo UTF8
\|\\; Define Brick Character
\;
\⊂'000040;\; VERREM - REM's syntax for defining macros with args
\;
\8EVAL(STRING)[⊗STRING⊗]\;
\8OMIT(STRING)[]\;
\8SETOM(REG)[\P\←=1;\→⊗REG⊗\p]\; set REG to one
\8SETZM(REG)[\P\←=0;\→⊗REG⊗\p]\; set REG to zero
\8LOADAC(VAR)[\!EVAL((\←=)\!⊗VAR⊗;(;));]\; load ac with var
\∞TRACEAC[\!EVAL((\m{)(ac=)\D∀( )(}));]\; trace ac
\;
\8TRACEVAR(VAR)[\N trace variable
\ ;\P\N save ac
\ ;\!LOADAC(⊗VAR⊗);\N put var in ac
\ ;\!EVAL((\m{)⊗VAR⊗(=)\D∀( )(}));\N
\ ;\N type trace
\ ;\p]\; restore ac
\;
\8INCR(VAR)[\N increment variable
\ ;\P\N save ac
\ ;\!LOADAC(⊗VAR⊗);\N load ac with var
\ ;\!EVAL((\∂←)⊗VAR⊗(;));\N expunge old var def
\ ;\+=1;\N add 1 to ac
\ ;\!EVAL((\∞)⊗VAR⊗([)\D∀(]));\N
\ ;\N redefine var
\ ;\p]\; restore ac
\;
\8COMPAC(ARG)[\N complement ac
\ ;\!EVAL(⊗ARG⊗);\N evaluate argument
\ ;\Q0\N save reg 0
\ ;\!SETOM(0);\N put a 1 in reg 0
\ ;\?SETZM(0);\N if ac > 0 set reg 0 to 0
\ ;\←0\N load ac from reg 0
\ ;\q0]\; restore reg 0
\;
\∞ISACZERO[\N is ac zero
\ ;\Q0\N save reg 0
\ ;\→0\N store ac in 0
\ ;\*0\N mult ac by reg 0
\ ;\!COMPAC;\N complement ac
\ ;\q0]\; restore reg 0
\;
\∞ISACEVEN[\%=2;\¬=1;]\;
\;
\∞ISACODD[\%=2;]\;
\;